package edu.hubu.talentmanagementsystem.model.ext;


import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import edu.hubu.talentmanagementsystem.model.Model;

import java.io.Serializable;

/**
 * <p>
 * 评价
 * </p>
 *
 * @author moonlan
 * @since 2021-03-13
 */
@TableName("staff_evaluation")
public class StaffEvaluation extends Model<StaffEvaluation> implements Serializable {


    /**
     * 评价ID
     */
    @TableId(value = "staff_evaluation_id", type = IdType.AUTO)
    private Integer staffEvaluationId;

    /**
     * 评价公司ID
     */
    @TableField("staff_archival_company_id")
    private Integer staffArchivalCompanyId;

    @TableField(exist = false)
    private Company company;

    /**
     * 评价人ID
     */
    @TableField("staff_archival_hr_id")
    private Integer staffArchivalHrId;

    @TableField(exist = false)
    private Staff staffArchivalHr;

    /**
     * 员工入职时间
     */
    @TableField("staff_evaluation_entry_date")
    private LocalDate staffEvaluationEntryDate;

    /**
     * 员工离职时间
     */
    @TableField("staff_evaluation_left_date")
    private LocalDate staffEvaluationLeftDate;

    /**
     * 员工表现评分
     */
    @TableField("staff_evaluation_performance")
    private Integer staffEvaluationPerformance;

    /**
     * 员工表现备注
     */
    @TableField("staff_evaluation_performance_remarks")
    private String staffEvaluationPerformanceRemarks;

    public Company getCompany() {
        return company;
    }

    public StaffEvaluation setCompany(Company company) {
        this.company = company;
        return this;
    }

    public Staff getStaffArchivalHr() {
        return staffArchivalHr;
    }

    public StaffEvaluation setStaffArchivalHr(Staff staffArchivalHr) {
        this.staffArchivalHr = staffArchivalHr;
        return this;
    }

    public Integer getStaffEvaluationId() {
        return staffEvaluationId;
    }

    public StaffEvaluation setStaffEvaluationId(Integer staffEvaluationId) {
        this.staffEvaluationId = staffEvaluationId;
        return this;
    }

    public Integer getStaffArchivalCompanyId() {
        return staffArchivalCompanyId;
    }

    public StaffEvaluation setStaffArchivalCompanyId(Integer staffArchivalCompanyId) {
        this.staffArchivalCompanyId = staffArchivalCompanyId;
        return this;
    }

    public Integer getStaffArchivalHrId() {
        return staffArchivalHrId;
    }

    public StaffEvaluation setStaffArchivalHrId(Integer staffArchivalHrId) {
        this.staffArchivalHrId = staffArchivalHrId;
        return this;
    }

    public LocalDate getStaffEvaluationEntryDate() {
        return staffEvaluationEntryDate;
    }

    public StaffEvaluation setStaffEvaluationEntryDate(LocalDate staffEvaluationEntryDate) {
        this.staffEvaluationEntryDate = staffEvaluationEntryDate;
        return this;
    }

    public LocalDate getStaffEvaluationLeftDate() {
        return staffEvaluationLeftDate;
    }

    public StaffEvaluation setStaffEvaluationLeftDate(LocalDate staffEvaluationLeftDate) {
        this.staffEvaluationLeftDate = staffEvaluationLeftDate;
        return this;
    }

    public Integer getStaffEvaluationPerformance() {
        return staffEvaluationPerformance;
    }

    public StaffEvaluation setStaffEvaluationPerformance(Integer staffEvaluationPerformance) {
        this.staffEvaluationPerformance = staffEvaluationPerformance;
        return this;
    }

    public String getStaffEvaluationPerformanceRemarks() {
        return staffEvaluationPerformanceRemarks;
    }

    public StaffEvaluation setStaffEvaluationPerformanceRemarks(String staffEvaluationPerformanceRemarks) {
        this.staffEvaluationPerformanceRemarks = staffEvaluationPerformanceRemarks;
        return this;
    }

    @Override
    public String toString() {
        return "StaffEvaluation{" +
                "staffEvaluationId=" + staffEvaluationId +
                ", staffArchivalCompanyId=" + staffArchivalCompanyId +
                ", staffArchivalHrId=" + staffArchivalHrId +
                ", staffEvaluationEntryDate=" + staffEvaluationEntryDate +
                ", staffEvaluationLeftDate=" + staffEvaluationLeftDate +
                ", staffEvaluationPerformance=" + staffEvaluationPerformance +
                ", staffEvaluationPerformanceRemarks=" + staffEvaluationPerformanceRemarks +
                "}";
    }
}
